package cn.bestick.cblog.service;

import java.util.List;
import cn.bestick.cblog.dmo.Article;
import cn.bestick.cblog.dto.AboutDto;
import cn.bestick.cblog.dto.ArticleDto;
import cn.bestick.cblog.dto.ArticleLiteDto;
import cn.bestick.cblog.util.PageBean;

/**
 * 博文service
 * 
 * */
public interface ArticleService {

	public List<ArticleDto> searchArticles(Article article);

	// getArticles() : 文章分页列表
	public List<ArticleDto> getArticles(PageBean pageBean);

	// getRecentArticles() 最近文章列表 article(id , title)
	public List<ArticleLiteDto> getRecentArticles();

	// getArticle 具体文章 article(title,content,pubdate,category,clicks,content)
	public ArticleDto getArticle(Integer id);

	// getPreArticle() article(title)
	public ArticleLiteDto getPreArticle(Integer id);

	// getNextArticle() article(title)
	public ArticleLiteDto getNextArticle(Integer id);

	// getArticleByCategory() 文章列表 article(title,pubdate)
	public List<ArticleLiteDto> getArticlesByCategory(int categoryId);

	// getArchive() articles 归档文章列表 article(title,pubdate)
	public List<ArticleLiteDto> getArchive();

	// getAbout() about 具体文章 about(content)
	public AboutDto getAbout();

	// updateAbout() about 具体文章 about(content)
	public void updateAbout(AboutDto about);

	// saveAbout() about 具体文章 about(content)
	public void saveAbout(AboutDto about);

	// updateArticle() about 具体文章
	public void updateArticle(Article article);

	// saveArticle() article具体文章
	public void saveArticle(Article article);

	// deleteArticle() article具体文章
	public void deleteArticle(Integer id);

	public int count();
}
